.TH ROFF 1 
.SH NAME
roff  \-  format text
.SH SYNOPSIS
.B roff
[ \fB+\fIn\fR ] [ \fB\-\fIn\fR ] [
.B \-s
] [
.B \-h
] file ...
.PP
.B nroff \-mr
[ option ] ... file ...
.br
.B troff \-mr
[ option ] ... file ...
.SH DESCRIPTION
.I Roff
formats text according to control lines embedded
in the text in the given files.
Encountering a nonexistent file terminates printing.
Incoming inter-terminal messages are turned off during printing.
The optional flag arguments mean:
.br
.ns
.TP 5
.BI + n
Start printing at the first page with number
.IR n .
.br
.ns
.TP 5
.BI \- n
Stop printing at the first page numbered higher
than
.IR n .
.br
.ns
.TP 5
.B  \-s
Stop before each page (including the first)
to allow paper manipulation;
resume on receipt of an interrupt signal.
.br
.ns
.TP 5
.B  \-h
Insert tabs in the output stream to replace
spaces whenever appropriate.
.PP
.DT
Input consists of intermixed
.I "text lines,"
which contain information to be formatted, and
.I "request lines,"
which contain instructions about how to format
it.
Request lines begin with a distinguished
.I "control character,"
normally a period.
.PP
Output lines may be
.I filled
as nearly as possible with words without regard to
input lineation.
Line
.I breaks
may be caused at specified places by
certain commands, or by the appearance of an
empty input line or an input line beginning with a space.
.PP
The capabilities of
.I roff
are specified in the attached Request Summary.
Numerical values are denoted there by n or +n,
titles by t, and single characters by c.
Numbers denoted +n may be signed + or \-,
in which case they signify relative changes to
a quantity, otherwise they signify
an absolute resetting.
Missing n fields are ordinarily taken to be 1,
missing t fields to be empty, and c fields to shut off
the appropriate special interpretation.
.PP
Running titles usually appear at top and bottom of every
page.
They are set by requests like
.PP
.in +10
.if t \&.he \(fmpart1\(fmpart2\(fmpart3\(fm
.if n \&.he 'part1'part2'part3'
.in -10
.PP
Part1 is left justified, part2 is centered,
and part3 is right justified on the page.
Any % sign in a title is replaced by the current
page number.
Any nonblank may serve as a quote.
.PP
ASCII tab characters are replaced in the input by a
.I "replacement character,"
normally a space,
according to the
column settings given by a .ta command.
(See .tr for how to convert this character on output.)
.PP
Automatic hyphenation of filled output is done
under control of .hy.
When a word contains a designated
.I "hyphenation character,"
that character disappears from the output and
hyphens can be introduced into
the word at the marked places only.
.PP
The
.B \-mr
option of
.I nroff
or 
.IR troff (1)
simulates
.I roff
to the greatest extent possible.
.SH FILES
/usr/lib/suftab	suffix hyphenation tables
.br
/tmp/rtm?	temporary
.br
.SH BUGS
.I Roff
is the simplest of the text formatting
programs, and is utterly frozen.
.bp
.tc |
.tr |
.in 0
.ce
REQUEST SUMMARY
.PP
.ul
.ta \w'.tr cdef.. 'u +\w'Break 'u +\w'Initial 'u
.di x
			\ka
.br
.di
.in \nau
.ti 0
Request	Break	Initial	Meaning
.na
.ti 0
.li
.ad	yes	yes	Begin adjusting right margins.
.ti 0
.li
.ar	no	arabic	Arabic page numbers.
.ti 0
.li
.br	yes	\-	Causes a line break \*- the filling of
the current line is stopped.
.ti 0
.li
.bl|n	yes	\-	Insert of n blank lines, on new page if necessary.
.ti 0
.li
.bp|+n	yes	n=1	Begin new page and number it n; no n means `+1'.
.ti 0
.li
.cc|c	no	c=.	Control character becomes `c'.
.ti 0
.li
.ce|n	yes	\-	Center the next n input lines,
without filling.
.ti 0
.li
.de|xx	no	\-	Define parameterless macro 
to be invoked by request `.xx'
(definition ends on line beginning `\fB..\fR').
.ti 0
.li
.ds	yes	no	Double space; same as `.ls 2'.
.ti 0
.li
.ef|t	no	t=\*a\*a\*a\*a	Even foot title becomes t.
.ti 0
.li
.eh|t	no	t=\*a\*a\*a\*a	Even head title becomes t.
.ti 0
.li
.fi	yes	yes	Begin filling output lines.
.ti 0
.li
.fo	no	t=\*a\*a\*a\*a	All foot titles are t.
.ti 0
.li
.hc|c	no	none	Hyphenation character becomes `c'.
.ti 0
.li
.he|t	no	t=\*a\*a\*a\*a	All head titles are t.
.ti 0
.li
.hx	no	\-	Title lines are suppressed.
.ti 0
.li
.hy|n	no	n=1	Hyphenation is done, if n=1;
and is not done, if n=0.
.ti 0
.li
.ig	no	\-	Ignore input lines through
a line beginning with `\fB..\fR'.
.ti 0
.li
.in|+n	yes	\-	Indent n spaces from left margin.
.ti 0
.li
.ix +n	no	\-	Same as `.in' but without break.
.ti 0
.li
.li|n	no	\-	Literal, treat next n lines as text.
.ti 0
.li
.ll|+n	no	n=65	Line length including indent is n characters.
.ti 0
.li
.ls|+n	yes	n=1	Line spacing set to n lines per output line.
.ti 0
.li
.m1|n	no	n=2	Put n blank lines between the top
of page and head title.
.ti 0
.li
.m2|n	no	n=2	n blank lines put between head title
and beginning of text on page.
.ti 0
.li
.m3|n	no	n=1	n blank lines put between end of
text and foot title.
.ti 0
.li
.m4|n	no	n=3	n blank lines put between the foot title
and the bottom of page.
.ti 0
.li
.na	yes	no	Stop adjusting the right margin.
.ti 0
.li
.ne|n	no	\-	Begin new page, if n output lines
cannot fit on present page.
.ti 0
.li
.nn|+n	no	\-	The next n output lines are not numbered.
.ti 0
.li
.n1	no	no	Add 5 to page offset;
number lines in margin from 1 on each page.
.ti 0
.li
.n2|n	no	no	Add 5 to page offset;
number lines from n;
stop if n=0.
.ti 0
.li
.ni|+n	no	n=0	Line numbers are indented n.
.ti 0
.li
.nf	yes	no	Stop filling output lines.
.ti 0
.li
.nx|file	\-	Switch input to `file'.
.ti 0
.li
.of|t	no	t=\*a\*a\*a\*a	Odd foot title becomes t.
.ti 0
.li
.oh|t	no	t=\*a\*a\*a\*a	Odd head title becomes t.
.ti 0
.li
.pa|+n	yes	n=1	Same as `.bp'.
.ti 0
.li
.pl|+n	no	n=66	Total paper length taken to be n lines.
.ti 0
.li
.po|+n	no	n=0	Page offset.
All lines are preceded by n spaces.
.ti 0
.li
.ro	no	arabic	Roman page numbers.
.ti 0
.li
.sk|n	no	\-	Produce n blank pages starting next page.
.ti 0
.li
.sp|n	yes	\-	Insert block of n blank lines,
except at top of page.
.ti 0
.li
.ss	yes	yes	Single space output lines,
equivalent to `.ls 1'.
.ti 0
.li
.ta|n|n..		\-	Pseudotab settings.
Initial tab settings are columns 9 17 25 ...
.ti 0
.li
.tc|c	no	space	Tab replacement character becomes `c'.
.ti 0
.li
.ti|+n	yes	\-	Temporarily indent next output
line n spaces.
.ti0
.li
.tr|cdef..	no	\-	Translate c into d, e into f, etc.
.ti0
.li
.ul|n	no	\-	Underline the letters and numbers
in the next n input lines.
.br
.tr ||
